"use strict";
//⼀些相似概念的区别
//interface 与 type 的区别
// 相同点： 
//       interface 和 type 都可以⽤于定义对象结构，在定义对象结构时两者可以互换。
// 不同点：
//       interface ：更专注于定义对象和类的结构，⽀持继承、合并。
//       type ：可以定义类型别名、联合类型、交叉类型，但不⽀持继承和⾃动合并。
//使⽤PersonInterface
var person11 = {
    name: '张三',
    age: 18,
    speak: function () {
        console.log("\u6211\u53EB\uFF1A".concat(this.name, "\uFF0C\u5E74\u9F84\uFF1A").concat(this.age));
    }
};
// 使⽤PersonType
var person12 = {
    name: '张三',
    age: 18,
    speak: function () {
        console.log("\u6211\u53EB\uFF1A".concat(this.name, "\uFF0C\u5E74\u9F84\uFF1A").concat(this.age));
    }
};
var student6 = {
    name: '李四',
    age: 18,
    xx: 12,
    grade: '⾼⼆',
    speak: function () {
        console.log(this.name, this.age, this.grade);
    }
};
var student7 = {
    name: '123',
    age: 18,
    grade: '123',
    speak: function () {
        console.log(this.name, this.age, this.grade);
    }
};
// Duck 类实现了 FlyInterface 和 SwimInterface 两个接⼝
var Duck = /** @class */ (function () {
    function Duck() {
    }
    Duck.prototype.fly = function () {
        console.log('鸭⼦可以⻜');
    };
    Duck.prototype.swim = function () {
        console.log('鸭⼦可以游泳');
    };
    return Duck;
}());
// 创建⼀个 Duck 实例
var duck = new Duck();
duck.fly(); // 输出: 鸭⼦可以⻜
duck.swim(); // 输出: 鸭⼦可以游泳
